package cn.iocoder.yudao.module.system.controller.admin.examcontrolline.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Schema(description = "管理后台 - 专业推荐 Response VO")
@Data
public class MajorRecommendationRespVO {

    @Schema(description = "专业ID", example = "1")
    private Long majorId;

    @Schema(description = "专业名称", example = "计算机科学与技术")
    private String majorName;

    @Schema(description = "专业代码", example = "080901")
    private String majorCode;

    @Schema(description = "专业类别", example = "工学")
    private String majorCategory;

    @Schema(description = "学科门类", example = "工学")
    private String disciplineCategory;

    @Schema(description = "院校名称", example = "清华大学")
    private String collegeName;

    @Schema(description = "院校ID", example = "1")
    private Long collegeId;

    @Schema(description = "选科要求", example = "物理+化学")
    private String subjectRequirement;

    @Schema(description = "历年最低录取分数", example = "685.0")
    private BigDecimal minAdmissionScore;

    @Schema(description = "历年最高录取分数", example = "720.0")
    private BigDecimal maxAdmissionScore;

    @Schema(description = "历年平均录取分数", example = "698.0")
    private BigDecimal avgAdmissionScore;

    @Schema(description = "历年最低录取位次", example = "300")
    private Integer minAdmissionRank;

    @Schema(description = "录取概率", example = "68.5")
    private BigDecimal admissionProbability;

    @Schema(description = "推荐等级", example = "冲刺")
    private String recommendationLevel;

    @Schema(description = "专业热度", example = "85.5")
    private BigDecimal majorPopularity;

    @Schema(description = "就业率", example = "96.8")
    private BigDecimal employmentRate;

    @Schema(description = "平均薪资", example = "15000")
    private BigDecimal averageSalary;

    @Schema(description = "主要就业方向")
    private List<String> employmentDirections;

    @Schema(description = "专业描述", example = "培养具有良好科学素养，系统掌握计算机科学与技术的基本理论、基本知识和基本技能的高级专门人才")
    private String majorDescription;

    @Schema(description = "核心课程")
    private List<String> coreCourses;

    @Schema(description = "发展前景", example = "人工智能、大数据等领域需求旺盛，就业前景广阔")
    private String developmentProspects;

}